package com.yiyuan.app.service;

import com.guaike.core.entity.param.Page;
import com.guaike.core.entity.result.PageEntity;
import com.guaike.core.entity.result.Result;
import com.yiyuan.app.entity.param.ModifyUserInfoDTO;
import com.yiyuan.app.entity.param.RedeemDTO;
import com.yiyuan.app.entity.result.*;

import java.util.List;


public interface MineService {
    /**
     * 我的页面信息
     * @return
     */
    Result<MineVO> userInfo();

    /**
     * 获取我的松果数量
     * @return
     */
    Result<MyPineDataVO> findMyPinecone();

    /**
     * 松树结果记录列表
     * @param param
     * @return
     */
    Result<PageEntity<PineRecordVO>> pineRecordPage(Page param);

    /**
     * 松树页面信息
     * @return
     */
    Result<PineVO> pineInfo();

    /**
     * 领取松树奖励
     * @return
     */
    Result<Boolean> getPinePrize();

    /**
     * 获取松子兑换松果页面信息
     * @return
     */
    Result<RedeemPineconeVO> redeemPineconeInfo();

    /**
     * 松子兑换松果
     * @param param
     * @return
     */
    Result<Boolean> redeemPinecone(RedeemDTO param);

    /**
     * 修改昵称
     * @param param
     * @return
     */
    Result<Boolean> modifyNickName(ModifyUserInfoDTO param);

    /**
     * 文档信息
     * @param articleType
     * @return
     */
    Result<List<ArticleVO>> articleInfo(Integer articleType);
}
